package com.zjhn.ds.domain.dto.mt;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @BelongsProject: ds_jlw
 * @BelongsPackage: com.zjhn.ds.domain.dto.pad
 * @Author: sxt
 * @CreateTime: 2023-10-05  13:58
 * @Description:
 * @Version: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StationMonitorDto {

    @ApiModelProperty("在线/运行数量")
    @JsonProperty("runner_qty")
    private Integer runnerQty;

    @ApiModelProperty("待机/离线数量")
    @JsonProperty("stand_by_qty")
    private Integer standByQty;

    @ApiModelProperty("关机/掉线数量")
    @JsonProperty("close_qty")
    private Integer closeQty;

    @ApiModelProperty("故障数量")
    @JsonProperty("fault_qty")
    private Integer faultQty;

    @ApiModelProperty("备料中数量")
    @JsonProperty("bl_qty")
    private Integer blQty;

    @ApiModelProperty("待运输数量")
    @JsonProperty("dys_qty")
    private Integer dysQty;

    @ApiModelProperty("运输中数量")
    @JsonProperty("ys_qty")
    private Integer ysQty;

    @ApiModelProperty("任务超产数")
    @JsonProperty("task_over_qty")
    private Integer taskOverQty;

    @ApiModelProperty("任务预警数")
    @JsonProperty("task_warn_qty")
    private Integer taskWarnQty;

    @ApiModelProperty("剩余1天")
    @JsonProperty("remain_one_day_qty")
    private Integer remainOneDayQty;

    @ApiModelProperty("剩余2天")
    @JsonProperty("remain_two_day_qty")
    private Integer remainTwoDayQty;

    @ApiModelProperty("工位列表")
    private List<StationInfo> list;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class StationInfo {
        @ApiModelProperty("工位id")
        @JsonProperty("station_id")
        private String stationId;

        @ApiModelProperty("工位编号")
        @JsonProperty("station_code")
        private String stationCode;

        @ApiModelProperty("工位名称")
        @JsonProperty("station_name")
        private String stationName;

        @ApiModelProperty("设备针型")
        @JsonProperty("needle_code")
        private String needleCode;

        @ApiModelProperty("设备针数")
        @JsonProperty("needle_number")
        private String needleNumber;

        @ApiModelProperty("设备袜型")
        @JsonProperty("stockings_code")
        private String stockingsCode;

        @ApiModelProperty("设备品牌")
        private String brand;

        @ApiModelProperty("设备类别名称")
        @JsonProperty("type_name")
        private String typeName;

        @ApiModelProperty("机台状态 0-关机, 1-在线, 2-待机, 3-故障")
        private Integer status;

        @ApiModelProperty("款号")
        @JsonProperty("style_code")
        private String styleCode;

        @ApiModelProperty("剩余天数")
        @JsonProperty("remain_day")
        private Integer remainDay;

        @ApiModelProperty("完成数量")
        @JsonProperty("complete_qty")
        private BigDecimal completeQty;

        @ApiModelProperty("派工数量")
        @JsonProperty("assign_qty")
        private BigDecimal assignQty;

        @ApiModelProperty("任务状态 1-正常, 2-预警, 3-超产")
        @JsonProperty("task_status")
        private Integer taskStatus;

        @ApiModelProperty("agv状态 2-备料中, 3-待运输, 4-运输中")
        @JsonProperty("agv_status")
        private Integer agvStatus;

        @ApiModelProperty(value = "颜色")
        @JsonProperty("color_main")
        private String colorMain;

        @ApiModelProperty(value = "尺码")
        private String size;
    }
}
